Stirling PDF 安装与使用 – 强大的PDF操作工具,满足您的需求

共计 4096 个字符,预计需要花费 11 分钟才能阅读完成。

最近我发现了这个 Stirling PDF 项目,正好我可以写一篇记录一下,也可以给我自己的工具网站增加工具来使用。

最后修改:2024SEP07

Stirling PDF 简介

Stirling PDF 基于 Web 的 PDF 操作工具。能够对PDF文件进行各种操作,包括分割、合并、转换、重组、添加图像、旋转、压缩等。支持多语言,功能还是挺多的。

GitHub地址:https://github.com/Stirling-Tools/Stirling-PDF

其他Docker项目:Cryptgeon安装教程,阅后即焚的共享笔记或文件服务。

Stirling PDF 安装

需要安装 Docker、Docker-compose环境,如果已经有跳过这个。

安装 Docker、Docker-compose环境:https://blog.ioacx.com/docker

创建项目文件夹

sudo -i 
mkdir -p /root/data/docker_data/stirling_pdf

进入文件夹

cd /root/data/docker_data/stirling_pdf

创建文件修改

vim docker-compose.yml

按 i 修改,修改完成后按 ESC,输入 :wq 保存退出。

填入以下内容:

version: '3.3'
services:
  stirling-pdf:
    image: frooodle/s-pdf:latest
    ports:
      - '8080:8080' # 端口
    volumes:
      - /location/of/trainingData:/usr/share/tessdata #Required for extra OCR languages
      - /location/of/extraConfigs:/configs
#     - /location/of/customFiles:/customFiles/
#     - /location/of/logs:/logs/
    environment:
      - DOCKER_ENABLE_SECURITY=false
      - INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
  • 如果您想要启用用户登录模式,请将DOCKER_ENABLE_SECURITY设置为true,并参考https://github.com/Stirling-Tools/Stirling-PDF上的Login authentication”来进行设置。默认情况下,该值为false。
  • INSTALL_BOOK_AND_ADVANCED_HTML_OPS也可以保持默认值。这个选项会将calibre下载到stirling-pdf,以支持PDF到书籍和高级HTML转换。如果您需要这些功能,请打开该选项。
  • 端口为8080,按需要修改(8080端口被占用),可保持默认

在docker-compose.yml目录下输入

docker-compose up -d 

等待一下,然后访问ip地址:设置的端口,我这里设置的端口是8080,所以访问ip地址:8080

如果无法打开请查看是否没有打开防火墙

可以看到:

Stirling PDF 安装与使用 - 强大的PDF操作工具,满足您的需求

Stirling PDF 使用

语言设置:

Stirling PDF 安装与使用 - 强大的PDF操作工具,满足您的需求

可以使用的功能挺多的这里就不一一介绍了。可以看下图:

Stirling PDF 安装与使用 - 强大的PDF操作工具,满足您的需求

定制化 Stirling PDF

Stirling PDF 允许轻松定制应用程序。包括类似的东西

  • 自定义应用程序名称
  • 自定义标语、图标、图像,甚至自定义 HTML(通过文件覆盖)

匹配文件位置 /location/of/extraConfigs:/configs

打开settings.yml

可以修改默认语言等等。

可以参考:

security:
  enableLogin: false # 设置为 'true' 以启用登录
  csrfDisabled: true # 设置为 'true' 以禁用 CSRF 跨站请求伪造保护(不建议用于生产环境)
  loginAttemptCount: 5 # 尝试 5 次后锁定用户帐户;使用例如 Fail2Ban 时可以将该功能停用为 -1
  loginResetTimeMinutes: 120 # 尝试 x 次后锁定帐户 2 小时
  loginMethod: all # 'all'(登录用户名/密码和 OAuth2[必须启用和配置]),'normal'(仅使用用户名/密码登录),或 'oauth2'(仅使用 OAuth2 登录)
  initialLogin:
    username: 'admin' # 第一次登录的初始用户名
    password: 'admin' # 第一次登录的初始密码
  oauth2:
    enabled: false # 设置为 'true' 以启用登录(注意:enableLogin 必须为 'true' 才能工作)
    client:
      keycloak:
        issuer: '' # Keycloak 的 OpenID Connect Discovery 端点的 URL
        clientId: '' # Keycloak OAuth2 的客户端 ID
        clientSecret: '' # Keycloak OAuth2 的客户端密钥
        scopes: openid, profile, email # Keycloak OAuth2 的范围
        useAsUsername: preferred_username # 用作 Keycloak OAuth2 用户名的字段
      google:
        clientId: '' # Google OAuth2 的客户端 ID
        clientSecret: '' # Google OAuth2 的客户端密钥
        scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Google OAuth2 的范围
        useAsUsername: email # 用作 Google OAuth2 用户名的字段
      github:
        clientId: '' # GitHub OAuth2 的客户端 ID
        clientSecret: '' # GitHub OAuth2 的客户端密钥
        scopes: read:user # GitHub OAuth2 的范围
        useAsUsername: login # 用作 GitHub OAuth2 用户名的字段
    issuer: '' # 设置为支持 OpenID Connect Discovery (/.well-known/openid-configuration) 端点的任何提供者
    clientId: '' # 从您的提供者获取的客户端 ID
    clientSecret: '' # 从您的提供者获取的客户端密钥
    autoCreateUser: false # 设置为 'true' 以允许自动创建不存在的用户
    blockRegistration: false # 设置为 'true' 以禁止未事先由管理员注册的 SSO 登录
    useAsUsername: email # 默认是 'email';可以使用自定义字段作为用户名
    scopes: openid, profile, email # 指定应用程序请求权限的范围
    provider: google # 设置为您的 OAuth 提供者名称,例如 'google' 或 'keycloak'

system:
  defaultLocale: 'en-US' # 设置默认语言(例如 'de-DE', 'fr-FR' 等)
  googlevisibility: false # 'true' 允许 Google 可见性(通过 robots.txt),'false' 不允许
  enableAlphaFunctionality: false # 设置以启用可能需要更多测试才能完全上线的功能(此功能可能不会产生变化)
  showUpdate: true # 查看是否有新更新可用
  showUpdateOnlyAdmin: false # 只有管理员可以看到是否有新更新可用,取决于 showUpdate 必须设置为 'true'
  customHTMLFiles: false # 启用以使放置在 /customFiles/templates 中的文件覆盖现有模板 html 文件

ui:
  appName: '' # 应用程序的可见名称
  homeDescription: '' # 主页上显示的简短说明或标语
  appNameNavbar: '' # 导航栏上显示的名称

endpoints:
  toRemove: [] # 要禁用的端点列表(例如 ['img-to-pdf', 'remove-pages'])
  groupsToRemove: [] # 要禁用的组列表(例如 ['LibreOffice'])

metrics:
  enabled: true # 'true' 启用 Info API (`/api/*`) 端点,'false' 禁用
  • 设置登入后,用户名:admin 密码:stirling,登录时,会强制将密码更改为新密码。
  • 还可以使用Github,Google和keycloak登入
  • 您还可以使用环境变量SECURITY_INITIALLOGIN_USERNAME 并 SECURITY_INITIALLOGIN_PASSWORD立即设置自己的环境变量(建议在创建用户后将其删除)。

这些设置不能保证是最新的,其他设置请参考项目GITHUB。

如果只是想修改网站名字的只要动UI哪里就可以了,其他可以保持默认。

利用宝塔面板反向代理

新建一个站点,什么都不用设置,纯静态即可。确保你已经完成了域名解析。

用宝塔自带的反向代理功能

Stirling PDF 安装与使用 - 强大的PDF操作工具,满足您的需求

查看上图的设置方法,把目标URL改成你实际使用的端口

Stirling PDF 更新与卸载

更新:

cd /root/data/docker_data/stirling_pdf  # 进入docker-compose所在的文件夹
docker-compose pull    # 拉取最新的镜像
docker-compose up -d   # 重新启动镜像

卸载:

sudo -i
cd /root/data/docker_data/stirling_pdf  # 进入docker-compose所在的文件夹
docker-compose down    # 停止容器,此时不会删除映射到本地的数据
cd ~
rm -rf /root/data/docker_data/stirling_pdf  # 完全删除映射到本地的数据

总结

使用Docker安装还是方便的,这个Stirling PDF功能挺多的,可以安装来使用,满足您的所有PDF需求。

正文完
 0

语言切换:繁體中文

iezx
版权声明:本站原创文章,由 iezx 于2024-04-08发表,共计4096字。
转载说明:本站原创文章,可自由引用,但请务必保留本文链接。
评论(没有评论)
验证码